using System;
using UnityEngine;

namespace PKGames.AssetBundleSystem
{
	public class AssetBundlesConfiguration : ScriptableObject
	{
		[Serializable]
		public class AssetBundleInformation
		{
			[SerializeField]
			private string _assetBundleName;

			[SerializeField]
			private string[] _assetNames;

			[SerializeField]
			private string[] _assetBundleResourcesDependencies;

			[SerializeField]
			private string[] _dependingActivities;

			public string AssetBundleName => _assetBundleName;

			public string[] AssetNames => _assetNames;

			public string[] AssetBundleResourcesDependencies => _assetBundleResourcesDependencies;

			public string[] DependingActivities
			{
				get
				{
					return _dependingActivities;
				}
				set
				{
					_dependingActivities = value;
				}
			}

			public AssetBundleInformation(string assetBundleName, string[] assetNames, string[] assetBundleResourcesDependencies, string[] dependingActivities)
			{
				_assetBundleName = assetBundleName;
				_assetNames = assetNames;
				_assetBundleResourcesDependencies = assetBundleResourcesDependencies;
				_dependingActivities = dependingActivities;
			}
		}

		[SerializeField]
		private AssetBundleInformation[] _assetBundleConfiguration;

		public AssetBundleInformation[] Data
		{
			get
			{
				return _assetBundleConfiguration;
			}
			set
			{
				_assetBundleConfiguration = value;
			}
		}
	}
}
